package com.softtek.base.business.biz;


import com.softtek.base.domain.DepartmentInfo;
import com.softtek.base.domain.QuestionTwo;
import com.softtek.base.domain.VO.RegionVO;

import java.util.List;
import java.util.Map;

/**
 * Author: val.jzp
 */
public interface DepartmentInfoBiz {

    public void groupImage();

    /**
     * 根据KaSr查询
     */
    public List<DepartmentInfo> findByKaSr(String type,String departmentChannel);

    /**
     *  获取某个区域中所有的有效门店
     */
    public int countByKaSrAndCanUserDepartment(String departmentChannel);

    /**
     * 获取某个区域中问题1的数量
     */
    public int countQuestionOneAnswer(String type,String departmentChannel);

    /**
     * 获取某个区域中问题1的数量
     */
    public int countQuestionSevenAnswer(String departmentChannel);

    /**
     * 获取某个区域中问题2的数量
     */
    public int countQuestionTwoAnswer(String departmentChannel);

    public int countQuestionFiveAnswer(String questionFiveAnswerA, String questionFiveAnswerB, String departmentChannel);

    public int countQuestionEightAnswer(String type,String departmentChannel);

    public int countQuestionTwoAnswer(String type ,String departmentChannel);

    public List<RegionVO> countKaSr();

    public int countEdit();

    /**
     * 分页查询
     */
    public List<DepartmentInfo> findByType(Integer pageNow, Integer pageSize,String departmentName,String departmentNum,String status);

    public int count(String departmentName,String departmentNum,String status);

	/**
	 * 获取总记录数
	 */
	public Long totalRecord();

	/**
	 * 获取总记录数
	 */
	public Long totalRecord(Map<String, String> queryHash);

	/**
	 * 列表不分页
	 */
	public List<DepartmentInfo> findList();

	/**
	 * 列表不分页
	 */
	public List<DepartmentInfo> findList(Map<String, String> queryHash);

	/**
	 * 分页列表
	 */
	public List<DepartmentInfo> findList(Integer pageNow, Integer pageSize);

	/**
	 * 分页列表
	 */
	public List<DepartmentInfo> findList(Integer pageNow, Integer pageSize, Map<String, String> queryHash);

	/**
	 * 分页列表
	 */
	public List<DepartmentInfo> findList(Integer pageNow, Integer pageSize, String sqlOrder, Map<String, String> queryHash);

	/**
	 * id获取记录
	 */
	public DepartmentInfo findModel(Long departmentInfoId);

	/**
	 * 增加或修改记录
	 */
	public void addOrUpdate(DepartmentInfo model);

    /**
     * 增加或修改记录
     */
    public void addOrUpdate(DepartmentInfo model,
                            QuestionTwo questionTwo,
                            String fileNameQuestionTwoAImageUrl1,
                            String fileNameQuestionTwoAImageUrl2,
                            String fileNameQuestionTwoAImageUrl3,
                            String fileNameQuestionTwoBImageUrl1,
                            String fileNameQuestionTwoBImageUrl2,
                            String fileNameQuestionTwoBImageUrl3,
                            String fileNameQuestionTwoCImageUrl1,
                            String fileNameQuestionTwoCImageUrl2,
                            String fileNameQuestionTwoCImageUrl3,
                            String fileNameQuestionTwoDImageUrl1,
                            String fileNameQuestionTwoDImageUrl2,
                            String fileNameQuestionTwoDImageUrl3,
                            String fileNameQuestionTwoEImageUrl1,
                            String fileNameQuestionTwoEImageUrl2,
                            String fileNameQuestionTwoEImageUrl3,
                            String fileNameQuestionTwoGImageUrl1,
                            String fileNameQuestionTwoGImageUrl2,
                            String fileNameQuestionTwoGImageUrl3,
                            String fileNameQuestionTenImageUrl1,
                            String fileNameQuestionTenImageUrl2,
                            String fileNameQuestionTenImageUrl3,
                            String fileNameQuestionElevenImageUrl1,
                            String fileNameQuestionElevenImageUrl2,
                            String fileNameQuestionElevenImageUrl3);




    // ******************************************************************************
	// ********************************** CRUD END **********************************
	// ******************************************************************************
}